<!DOCTYPE html>
<html>

<head>
  <title>Quarkus 1.3.0.Final released - New class loader infrastructure, GraalVM 20 support and much much more</title>
  <script id="adobe_dtm" src="https://www.redhat.com/dtm.js" type="text/javascript"></script>
  <script src="/assets/javascript/highlight.pack.js" type="text/javascript"></script>
  <META HTTP-EQUIV='Content-Security-Policy' CONTENT="default-src 'none'; script-src 'self' 'unsafe-eval' 'sha256-ANpuoVzuSex6VhqpYgsG25OHWVA1I+F6aGU04LoI+5s=' 'sha256-ipy9P/3rZZW06mTLAR0EnXvxSNcnfSDPLDuh3kzbB1w=' js.bizographics.com https://www.redhat.com assets.adobedtm.com jsonip.com https://ajax.googleapis.com https://www.googletagmanager.com https://www.google-analytics.com https://use.fontawesome.com; style-src 'self' https://fonts.googleapis.com https://use.fontawesome.com; img-src 'self' *; media-src 'self' ; frame-src https://www.googletagmanager.com https://www.youtube.com; frame-ancestors 'none'; base-uri 'none'; object-src 'none'; form-action 'none'; font-src 'self' https://use.fontawesome.com https://fonts.gstatic.com;">
  <META HTTP-EQUIV='X-Frame-Options' CONTENT="DENY">
  <META HTTP-EQUIV='X-XSS-Protection' CONTENT="1; mode=block">
  <META HTTP-EQUIV='X-Content-Type-Options' CONTENT="nosniff">
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="Quarkus: Supersonic Subatomic Java">
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:site" content="@QuarkusIO"> 
  <meta name="twitter:creator" content="@QuarkusIO">
  <meta property="og:url" content="https://quarkus.io/blog/quarkus-1-3-0-final-released/" />
  <meta property="og:title" content="Quarkus 1.3.0.Final released - New class loader infrastructure, GraalVM 20 support and much much more" />
  <meta property="og:description" content="Quarkus: Supersonic Subatomic Java" />
  <meta property="og:image" content="/assets/images/quarkus_card.png" />
  <link rel="canonical" href="https://quarkus.io/blog/quarkus-1-3-0-final-released/">
  <link rel="shortcut icon" type="image/png" href="/favicon.ico" >
  <link rel="stylesheet" href="https://quarkus.io/guides/stylesheet/config.css" />
  <link rel="stylesheet" href="/assets/css/main.css" />
  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous">
  <link rel="alternate" type="application/rss+xml"  href="https://quarkus.io/feed.xml" title="Quarkus">
  <script src="https://quarkus.io/assets/javascript/goan.js" type="text/javascript"></script>
  <script src="https://quarkus.io/assets/javascript/hl.js" type="text/javascript"></script>
</head>

<body class="post">
  <!-- Google Tag Manager (noscript) -->
  <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NJWS5L"
  height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  <!-- End Google Tag Manager (noscript) -->

  <div class="nav-wrapper">
  <div class="grid-wrapper">
    <div class="width-12-12">
      <input type="checkbox" id="checkbox" />
      <nav id="main-nav" class="main-nav">
  <div class="container">
    <div class="logo-wrapper">
      
        <a href="/"><img src="/assets/images/quarkus_logo_horizontal_rgb_600px_reverse.png" class="project-logo" title="Quarkus"></a>
      
    </div>
    <label class="nav-toggle" for="checkbox">
      <i class="fa fa-bars"></i>
    </label>
    <div id="menu" class="menu">
      <span>
        <a href="/get-started/" class="">Get Started</a>
      </span>
      <span>
        <a href="/guides/" class="">Guides</a>
      </span>
      <span>
        <a href="/community/" class="">Community</a>
      </span>
      <span>
        <a href="/support/" class="">Support</a>
      </span>
      <span>
        <a href="/blog/" class="active">Blog</a>
      </span>
      <span>
        <a href="https://code.quarkus.io" class="button-cta secondary white">Start Coding</a>
      </span>
    </div>
  </div>
      </nav>
    </div>
  </div>
</div>

  <div class="content">
    <div class="post-page grid-wrapper">
  <div class="width-8-12 width-12-12-m doc-content">
    <div class="grid-wrapper">
      <div class="width-12-12">
        <p>
          <a href="/blog"><i class="fas fa-angle-left"></i> Back to all posts</a>
        </p>
      </div>
      <div class="width-12-12">
        <div class="post-date">
          March 19, 2020 
          
            <span class="tags"><a href="/blog/tag/release">#release</a></span>
          
        </div>
        <h1 class="post-title">Quarkus 1.3.0.Final released - New class loader infrastructure, GraalVM 20 support and much much more</h1>
        <div class="grid-wrapper">
          <div class="width-8-12 width-12-12-m byline-wrapper">
            
            
              <img class="headshot" src="https://www.gravatar.com/avatar/ec96387a1a8295b6fd6dffb68f80c352">
            
            <p class="byline">By Guillaume Smet</p>
          </div>
          <div class="width-12-12">
              <div class="paragraph">
<p>In case you haven&#8217;t noticed,
it has been a bit less than two months since our last major Quarkus release
as we went through some extensive testing phases to validate our new class loader infrastructure.</p>
</div>
<div class="paragraph">
<p>A big thanks to all the people who tested our Alphas/CRs and provided feedback.</p>
</div>
<div class="paragraph">
<p>Two months?
That&#8217;s a lot in the Quarkus world so expect a whole lot of new things.</p>
</div>
<div class="paragraph">
<p>Enough introduction, let&#8217;s see what 1.3 brings to the world.</p>
</div>
<div class="sect1">
<h2 id="migration-guide"><a class="anchor" href="#migration-guide"></a>Migration Guide</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Eager to migrate your existing applications? Here is <a href="https://github.com/quarkusio/quarkus/wiki/Migration-Guide-1.3">our migration guide for 1.3.0.Final</a>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="whats-new"><a class="anchor" href="#whats-new"></a>What&#8217;s new?</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="new-class-loader-infrastructure"><a class="anchor" href="#new-class-loader-infrastructure"></a>New class loader infrastructure</h3>
<div class="paragraph">
<p>Due to the innovative nature of Quarkus (especially in our test infrastructure and dev mode), we had a few recurring class loading issues.</p>
</div>
<div class="paragraph">
<p>Quarkus 1.3 comes with a brand new class loading infrastructure, fixing the structural issues we had.
The new class loading infrastructure is described at length in the <a href="https://quarkus.io/guides/class-loading-reference">Class Loading Reference guide</a>.</p>
</div>
<div class="paragraph">
<p>We ironed out this new infrastructure during the Alpha and CR phases so it is pretty solid now.
If you encounter weird class loading issues, report them with a reproducer, we will include all those fixes in the upcoming 1.3.1.</p>
</div>
</div>
<div class="sect2">
<h3 id="one-vert-x-to-rule-them-all"><a class="anchor" href="#one-vert-x-to-rule-them-all"></a>One Vert.x to rule them all</h3>
<div class="paragraph">
<p>A significant amount of work went into having only one Vert.x instance to handle everything in Quarkus instead of two.
The idea behind this work is to reduce the resource consumption, hopefully without changing anything for you.</p>
</div>
</div>
<div class="sect2">
<h3 id="banner"><a class="anchor" href="#banner"></a>Banner</h3>
<div class="paragraph">
<p>This is probably the most visible change:
by default, an ASCII-art banner is now displayed when starting Quarkus.</p>
</div>
<div class="paragraph">
<p>You can of course:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>customize it,</p>
</li>
<li>
<p>disable it for a given project,</p>
</li>
<li>
<p>disable it globally for all your projects.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Please refer to <a href="https://quarkus.io/guides/getting-started#banner">the documentation</a> for more details.</p>
</div>
</div>
<div class="sect2">
<h3 id="mutiny-arising"><a class="anchor" href="#mutiny-arising"></a>Mutiny arising</h3>
<div class="paragraph">
<p>A new reactive programming API has been introduced.
This API named <a href="https://smallrye.io/smallrye-mutiny/">Mutiny</a> replaces the Axle and Reactive Streams Operators models (Reactive Streams and CompletionStage).
The previous models are still functional, but deprecated and will be removed in the future.</p>
</div>
<div class="paragraph">
<p>If you would like to know more, please refer to the <a href="https://quarkus.io/guides/getting-started-reactive">Getting Started with Reactive guide</a>.</p>
</div>
</div>
<div class="sect2">
<h3 id="easy-deployment-to-kubernetes-or-openshift"><a class="anchor" href="#easy-deployment-to-kubernetes-or-openshift"></a>Easy deployment to Kubernetes or OpenShift</h3>
<div class="paragraph">
<p>The Kubernetes extension has been overhauled and now gives users the ability to deploy their Quarkus applications to Kubernetes or OpenShift with almost no effort.
Essentially the extension now also takes care of generating a container image (see <a href="#container-images">Container images</a> for more details)
and applying the generated Kubernetes manifests to a target cluster, after the container image has been generated.</p>
</div>
<div class="paragraph">
<p>Please refer to <a href="https://quarkus.io/guides/kubernetes">the documentation</a> for more details.</p>
</div>
</div>
<div class="sect2">
<h3 id="eclipse-microprofile-3-3-specifications"><a class="anchor" href="#eclipse-microprofile-3-3-specifications"></a>Eclipse MicroProfile 3.3 specifications</h3>
<div class="paragraph">
<p>The SmallRye extensions were updated to implement Eclipse MicroProfile 3.3.</p>
</div>
<div class="paragraph">
<p>A blog post with more details is coming soon.</p>
</div>
</div>
<div class="sect2">
<h3 id="default-http-read-timeout"><a class="anchor" href="#default-http-read-timeout"></a>Default HTTP read timeout</h3>
<div class="paragraph">
<p>We have added the ability to configure the HTTP read timeout (via <code>quarkus.http.read-timeout</code>)
and it comes with a default value of 1 minute.</p>
</div>
</div>
<div class="sect2">
<h3 id="new-extensions"><a class="anchor" href="#new-extensions"></a>New extensions</h3>
<div class="sect3">
<h4 id="container-images"><a class="anchor" href="#container-images"></a>Container images</h4>
<div class="paragraph">
<p>A massive effort has been put in facilitating the build of container images with Quarkus.</p>
</div>
<div class="paragraph">
<p>We now have a set of extensions building the images as part of the Quarkus build based on the Quarkus configuration,
either using Jib, Docker or S2I.</p>
</div>
<div class="paragraph">
<p>More information in the <a href="https://quarkus.io/guides/container-image">Container Image guide</a>.</p>
</div>
</div>
<div class="sect3">
<h4 id="optaplanner"><a class="anchor" href="#optaplanner"></a>OptaPlanner</h4>
<div class="paragraph">
<p>OptaPlanner is an AI constraint solver.
It optimizes planning and scheduling problems.</p>
</div>
<div class="paragraph">
<p>The OptaPlanner Quarkus extension brings all the features of OptaPlanner to Quarkus,
even in native executables.
If you want to discover how OptaPlanner can help, please read <a href="https://quarkus.io/guides/optaplanner">the OptaPlanner guide</a>.</p>
</div>
</div>
<div class="sect3">
<h4 id="security-jpa"><a class="anchor" href="#security-jpa"></a>Security JPA</h4>
<div class="paragraph">
<p>Want your users in a database managed by Hibernate ORM?
Just add a couple of annotations and <a href="https://quarkus.io/guides/security-jpa">the Security JPA extension</a> gets you covered.</p>
</div>
</div>
<div class="sect3">
<h4 id="spring-cloud-config-client"><a class="anchor" href="#spring-cloud-config-client"></a>Spring Cloud Config Client</h4>
<div class="paragraph">
<p>We extended our Spring compatibility layer with a Spring Cloud Config Client.</p>
</div>
<div class="paragraph">
<p>You can now <a href="https://quarkus.io/guides/spring-cloud-config-client">get your configuration from a Spring Cloud Config server</a>.</p>
</div>
</div>
<div class="sect3">
<h4 id="aws-x-ray"><a class="anchor" href="#aws-x-ray"></a>AWS X-Ray</h4>
<div class="paragraph">
<p>Support for AWS X-Ray was added so you can use it with your AWS lambdas, in JVM mode and native mode.</p>
</div>
</div>
<div class="sect3">
<h4 id="qpid-jms"><a class="anchor" href="#qpid-jms"></a>Qpid JMS</h4>
<div class="paragraph">
<p>We now recommend the usage of the Qpid JMS extension instead of the Artemis JMS one.
Features are the same, it just adds more flexibility.</p>
</div>
<div class="paragraph">
<p>The Artemis JMS extension is still there.</p>
</div>
<div class="paragraph">
<p>More information in <a href="https://quarkus.io/guides/jms">the JMS guide</a>.</p>
</div>
</div>
<div class="sect3">
<h4 id="liquibase"><a class="anchor" href="#liquibase"></a>Liquibase</h4>
<div class="paragraph">
<p>We had a Flyway extension for a while, you can now also use Liquibase to handle your database schema migrations.</p>
</div>
<div class="paragraph">
<p>More on this in <a href="https://quarkus.io/guides/liquibase">the Liquibase guide</a>.</p>
</div>
</div>
<div class="sect3">
<h4 id="reactive-mongodb-with-panache"><a class="anchor" href="#reactive-mongodb-with-panache"></a>Reactive MongoDB with Panache</h4>
<div class="paragraph">
<p>Love reactive?
Love MongoDB?
Love simple code?</p>
</div>
<div class="paragraph">
<p>Here comes the Reactive MongoDB with Panache extension.
More details in <a href="https://quarkus.io/guides/mongodb-panache">the MongoDB with Panache documentation</a>.</p>
</div>
</div>
</div>
<div class="sect2">
<h3 id="graalvm-20-0-support"><a class="anchor" href="#graalvm-20-0-support"></a>GraalVM 20.0 support</h3>
<div class="paragraph">
<p>1.3.0.Final supports four flavors of GraalVM:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>GraalVM 19.3.1 - JDK 8</p>
</li>
<li>
<p>GraalVM 19.3.1 - JDK 11</p>
</li>
<li>
<p>GraalVM 20.0.0 - JDK 8</p>
</li>
<li>
<p>GraalVM 20.0.0 - JDK 11</p>
</li>
</ul>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
<div class="paragraph">
<p>To summarize, for Quarkus, you can use:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>JDK 8, 11, 12, 13 or 14 in JVM mode</p>
</li>
<li>
<p>JDK 8 or 11 with GraalVM 19.3.1 or 20.0.0 to build native executables</p>
</li>
</ul>
</div>
</td>
</tr>
</table>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
<div class="paragraph">
<p>JDK 11 support in GraalVM is still in tech preview.
On our side, we did not encounter any specific issues except for the compilation to be ~20% slower.</p>
</div>
</td>
</tr>
</table>
</div>
</div>
<div class="sect2">
<h3 id="hibernate-orm"><a class="anchor" href="#hibernate-orm"></a>Hibernate ORM</h3>
<div class="paragraph">
<p>Automatic association management via bytecode enhancement is disabled from now on.</p>
</div>
<div class="paragraph">
<p>It is possible to disable the second level caching
by setting the <code>quarkus.hibernate-orm.second-level-caching-enabled</code> configuration property to <code>false</code>.</p>
</div>
</div>
<div class="sect2">
<h3 id="spring-compatibility-layer"><a class="anchor" href="#spring-compatibility-layer"></a>Spring compatibility layer</h3>
<div class="paragraph">
<p>The Spring compatibility layer is now based on trimmed down artifacts only including the necessary APIs and annotations instead of the full Spring jars.</p>
</div>
<div class="paragraph">
<p>Less dependencies, less code and you only have the supported features around.</p>
</div>
</div>
<div class="sect2">
<h3 id="and-more"><a class="anchor" href="#and-more"></a>And more&#8230;&#8203;</h3>
<div class="ulist">
<ul>
<li>
<p>Several improvements in our Gradle and Kotlin support</p>
</li>
<li>
<p>The <code>&lt;enableJni&gt;</code> option of the native executable building has been deprecated and marked for removal as JNI is always enabled with GraalVM 19.3+</p>
</li>
<li>
<p>The Flyway extension now supports an <code>out-of-order</code> configuration property</p>
</li>
<li>
<p>Our Qute templating engine is maturing and got its share of bugfixes and improvements</p>
</li>
<li>
<p>We support Keycloak 9</p>
</li>
<li>
<p>Hibernate Search + Elasticsearch was upgraded to 6.0.0.Beta5</p>
</li>
<li>
<p>You now can inject the underlying Quartz scheduler of the Quartz extension for more flexibility</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="full-changelog"><a class="anchor" href="#full-changelog"></a>Full changelog</h3>
<div class="paragraph">
<p>You can get the full changelogs of <a href="https://github.com/quarkusio/quarkus/releases/tag/1.3.0.Alpha1">1.3.0.Alpha1</a>, <a href="https://github.com/quarkusio/quarkus/releases/tag/1.3.0.Alpha2">1.3.0.Alpha2</a>, <a href="https://github.com/quarkusio/quarkus/releases/tag/1.3.0.CR1">1.3.0.CR1</a>, <a href="https://github.com/quarkusio/quarkus/releases/tag/1.3.0.CR2">1.3.0.CR2</a> and <a href="https://github.com/quarkusio/quarkus/releases/tag/1.3.0.Final">1.3.0.Final</a> on GitHub.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="adopters-md"><a class="anchor" href="#adopters-md"></a>ADOPTERS.md</h2>
<div class="sectionbody">
<div class="paragraph">
<p>To share stories about Quarkus usage, we added <a href="https://github.com/quarkusio/quarkus/blob/master/ADOPTERS.md">an <code>ADOPTERS.md</code> file</a> at the root of the repository.</p>
</div>
<div class="paragraph">
<p>If you are using Quarkus and would like to be interviewed on our blog or simply added to this file, please contact us and we will be happy to oblige.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="contributors"><a class="anchor" href="#contributors"></a>Contributors</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The Quarkus community is growing and has now <a href="https://github.com/quarkusio/quarkus/graphs/contributors">246 contributors</a>.
Many many thanks to each and everyone of them.</p>
</div>
<div class="paragraph">
<p>In particular for the 1.3.0 release, thanks to Akito Kidani, Alex Soto, Alexey Loubyansky, Alvaro Serrano, Andreas Eberle, Andrej Petras, Andrew Guibert, Andy Damevin, Aurea Munoz, Bill Burke, Clement Escoffier, cstdev, Darran Lofthouse, David M. Lloyd, Emmanuel Bernard, Erik Mattheis, Erin Schnabel, Felix Wong, Geoffrey De Smet, George Gastaldi, Georgios Andrianakis, Grzegorz Piwowarek, Guillaume Smet, Gunnar Morling, Gwenneg Lepage, Harald Reinmueller, Harold Sun, Ioannis Canellos, Irena Kezic, Jaikiran Pai, Jakubo96, Jan Martiska, Jason T. Greene, Jesper Skov, Joachim Segala, Johannes, John O&#8217;Hara, Jonas Scholz, Jordi Sola, Josejulio Martínez, Justin Lee, Kamesh Sampath, Katia Aresti, Kaxil Naik, Ken Finnigan, Kuzuha Shinoda, Ladislav Thon, Loïc Mathieu, Luca Burgazzoli, Luis F Munoz, Luram Archanjo, Maciej Swiderski, Manyanda Chitimbo, Marc Häbich, Martin Kouba, Martin Panzer, Matej Novotny, Max Rydahl Andersen, Michal Karm Babacek, Michał Szynkiewicz, Miroslav Stary, Nicolas Martignole, Olivier Dufour, Ondrej Machala, Paulo Casaes, Pavol Loffay, Pedro Igor, Peter Palaga, Phillip Kruger, Pierre PLR, Raffael Hertle, Ramakrishna Pattnaik, Rinaldo Pitzer Júnior, Robbie Gemmell, Roberto Cortez, Rohan Maity, Rostislav Svoboda, Sanne Grinovero, Sebastian Wastl, Sergey Beryozkin, Stefnotch, Stuart Douglas, Stéphane Épardaud, testfixer, Thomas Segismont, Timothy Power, Tobias Liese, Tomaz Cerar, Vincent Sevel, Vincent Sourin, Vinícius Ferraz Campos Florentino and Yoann Rodière.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="come-join-us"><a class="anchor" href="#come-join-us"></a>Come Join Us</h2>
<div class="sectionbody">
<div class="paragraph">
<p>We value your feedback a lot so please report bugs, ask for improvements&#8230;&#8203; Let&#8217;s build something great together!</p>
</div>
<div class="paragraph">
<p>If you are a Quarkus user or just curious, don&#8217;t be shy and join our welcoming community:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>provide feedback on <a href="https://github.com/quarkusio/quarkus/issues">GitHub</a>;</p>
</li>
<li>
<p>craft some code and <a href="https://github.com/quarkusio/quarkus/pulls">push a PR</a>;</p>
</li>
<li>
<p>discuss with us on <a href="https://quarkusio.zulipchat.com/">Zulip</a> and on the <a href="https://groups.google.com/d/forum/quarkus-dev">mailing list</a>;</p>
</li>
<li>
<p>ask your questions on <a href="https://stackoverflow.com/questions/tagged/quarkus">Stack Overflow</a>.</p>
</li>
</ul>
</div>
</div>
</div>
              
          </div>
          <div class="width-12-12"><div class="share-page">
  <a class="share-linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https://quarkus.io/blog/quarkus-1-3-0-final-released/&title=Quarkus 1.3.0.Final released - New class loader infrastructure, GraalVM 20 support and much much more" rel="nofollow" target="_blank" title="Share on LinkedIn">
    <img src="/assets/images/share-page/icons_social-linkedin.png"/>
  </a>
  <a class="share-twitter" href="https://twitter.com/intent/tweet?text=Quarkus 1.3.0.Final released - New class loader infrastructure, GraalVM 20 support and much much more&url=https://quarkus.io/blog/quarkus-1-3-0-final-released/&via=quarkusio&related=quarkusio" rel="nofollow" target="_blank" title="Share on Twitter">
    <img src="/assets/images/share-page/icons_social-twitter.png"/>
  </a>
  <a class="share-facebook" href="https://facebook.com/sharer.php?u=https://quarkus.io/blog/quarkus-1-3-0-final-released/" rel="nofollow" target="_blank" title="Share on Facebook">
    <img src="/assets/images/share-page/icons_social-facebook.png"/>
  </a>
  <a class="share-reddit" href="http://www.reddit.com/submit?url=https://quarkus.io/blog/quarkus-1-3-0-final-released/" onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=900,height=500,toolbar=1,resizable=0'); return false;" title="Share on Reddit" >
    <img src="/assets/images/share-page/icons_social-reddit.png"/>
  </a>
  <a class="share-email" href="mailto:?subject=Quarkus 1.3.0.Final released - New class loader infrastructure, GraalVM 20 support and much much more&amp;body=Quarkus 1.3.0.Final released - New class loader infrastructure, GraalVM 20 support and much much more https://quarkus.io/blog/quarkus-1-3-0-final-released/" title="Share via Email" >
    <img src="/assets/images/share-page/icons_social-email.png"/>
  </a>
</div>
</div>
        </div>
      </div>
    </div>
  </div>
</div>

  </div>

  <div class="content project-footer">
  <div class="footer-section">
    <div class="logo-wrapper">
      <a href="/"><img src="/assets/images/quarkus_logo_horizontal_rgb_reverse.svg" class="project-logo" title="Quarkus"></a>
    </div>
  </div>
  <div class="grid-wrapper">
    <p class="grid__item width-3-12">Quarkus is open. All dependencies of this project are available under the <a href='https://www.apache.org/licenses/LICENSE-2.0' target='_blank'>Apache Software License 2.0</a> or compatible license.<br /><br />This website was built with <a href='https://jekyllrb.com/' target='_blank'>Jekyll</a>, is hosted on <a href='https://pages.github.com/' target='_blank'>Github Pages</a> and is completely open source. If you want to make it better, <a href='https://github.com/quarkusio/quarkusio.github.io' target='_blank'>fork the website</a> and show us what you’ve got.</p>

    
      <div class="width-1-12 project-links">
        <span>Navigation</span>
        <ul class="footer-links width-1-12">
          
            <li><a href="/">Home</a></li>
          
            <li><a href="/guides">Guides</a></li>
          
            <li><a href="/community/#contributing">Contribute</a></li>
          
            <li><a href="/faq">FAQ</a></li>
          
            <li><a href="/get-started">Get Started</a></li>
          
        </ul>
      </div>
    
      <div class="width-1-12 project-links">
        <span>Contribute</span>
        <ul class="footer-links width-1-12">
          
            <li><a href="https://twitter.com/quarkusio">Follow us</a></li>
          
            <li><a href="https://github.com/quarkusio">GitHub</a></li>
          
            <li><a href="/security">Security&nbsp;policy</a></li>
          
        </ul>
      </div>
    
      <div class="width-1-12 project-links">
        <span>Get Help</span>
        <ul class="footer-links width-1-12">
          
            <li><a href="https://groups.google.com/forum/#!forum/quarkus-dev">Forums</a></li>
          
            <li><a href="https://quarkusio.zulipchat.com">Chatroom</a></li>
          
        </ul>
      </div>
    

    
      <div class="width-3-12 more-links">
        <span>Quarkus is made of community projects</span>
        <ul class="footer-links">
          
            <li><a href="https://vertx.io/" target="_blank">Eclipse Vert.x</a></li>
          
            <li><a href="https://microprofile.io" target="_blank">Eclipse MicroProfile</a></li>
          
            <li><a href="https://hibernate.org" target="_blank">Hibernate</a></li>
          
            <li><a href="https://netty.io" target="_blank">Netty</a></li>
          
            <li><a href="https://resteasy.github.io" target="_blank">RESTEasy</a></li>
          
            <li><a href="https://camel.apache.org" target="_blank">Apache Camel</a></li>
          
            <li><a href="https://code.quarkus.io/" target="_blank">And many more...</a></li>
          
        </ul>
      </div>
    
  </div>
</div>
  <div class="content redhat-footer">
  <div class="grid-wrapper">
    <span class="licence">
      <i class="fab fa-creative-commons"></i><i class="fab fa-creative-commons-by"></i> <a href="https://creativecommons.org/licenses/by/3.0/" target="_blank">CC by 3.0</a> | <a href="https://www.redhat.com/en/about/privacy-policy">Privacy Policy</a>
    </span>
    <span class="redhat">
      Sponsored by
    </span>
    <span class="redhat-logo">
      <a href="https://www.redhat.com/" target="_blank"><img src="/assets/images/redhat_reversed.svg"></a>
    </span>
  </div>
</div>


  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js" integrity="sha384-8gBf6Y4YYq7Jx97PIqmTwLPin4hxIzQw5aDmUg/DDhul9fFpbbLcLh3nTIIDJKhx" crossorigin="anonymous"></script>
  <script type="text/javascript" src="/assets/javascript/mobile-nav.js"></script>
  <script type="text/javascript" src="/assets/javascript/scroll-down.js"></script>
  <script src="/assets/javascript/satellite.js" type="text/javascript"></script>
  <script src="https://quarkus.io/guides/javascript/config.js" type="text/javascript"></script>
  <script src="/assets/javascript/search-filter.js" type="text/javascript"></script>
  <script src="/assets/javascript/back-to-top.js" type="text/javascript"></script>
</body>

</html>
